Electronic devices are able to access an increasingly larger and more diverse quantity of functions, services, and information, both via the Internet and from other sources. Functionality for such devices continues to improve rapidly, with advances in both hardware and software applications of consumer devices, smartphones, tablet computers, and the like. In many instances, each software application, function, website, or other feature can have its own user interface and operational models, which can be difficult to learn and even overwhelming for some novice users. Moreover, many users may overlook or be unaware of the extensive device functionality and information available to them. Such users may be unable to use certain resources effectively, and some users may become frustrated or overwhelmed by the growing capabilities of consumer devices.
In addition to novice users, a variety of other individuals may find it difficult to effectively utilize the many features available on consumer devices. For example, individuals who are impaired, disabled, elderly, busy, distracted, operating a vehicle, engaged in certain activities, or the like may have difficulty interfacing with their electronic devices safely and effectively. Such users can also be particularly likely to find it difficult to navigate the large number of diverse functions, applications, websites, features, and the like that may be available.
An intelligent automated assistant (or virtual assistant) can beneficially provide an improved interface between a human user and an electronic device that addresses the needs of certain users while also providing enhanced functionality for even expert users. For example, a virtual assistant can facilitate effective use of the varied functions, applications, websites, features, and the like that may be available.
In some examples, a virtual assistant can function by recognizing and responding to known requests in predetermined ways. A virtual assistant, however, may not yet recognize and may not yet be trained to respond to a variety of new requests from users that may change over time. For example, users can request information from a new source, request information from a known source in a new way, request a certain function using as-yet unrecognized terminology, request a new function for a new software application, or the like. In addition, recognized or known source information can become outdated over time, and the virtual assistant may not recognize new terminology employed by users to refer to updated information. For example, users may request information related to future events (e.g., a movie premier), but the virtual assistant may not yet recognize related terminology (e.g., the new movie title). Accordingly, a virtual assistant can receive user requests that it is unable to effectively handle as, for example, source information changes over time and as users make new requests or make certain requests in new ways.